package ae.pcfc.cldos.online.common.clddb.domain;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.hibernate.envers.Audited;

import ae.pcfc.cldos.online.common.domain.BaseEntity;


/**
 * The persistent class for the T_CLDOS_SERVICE_MASTER database table.
 * 
 */
@Entity
@Table(name="T_CLDOS_SERVICE_MASTER")
@Audited
public class ServiceMaster extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	public static final Long SERVICE_CODE_EMP_INSIDE = 1l;
	public static final Long SERVICE_CODE_EMP_OUTSIDE = 0l;
	public static final Long SERVICE_INTERNAL_TRANSFER = 2l;
	public static final Long SERVICE_GTH = 3l;
	
	public static final String EP_RENEWAL = "4";
	public static final String EP_CANCELATION = "5";
	
	public static final Long EV_CANCELATION = 6l;
	public static final Long EV_RENEVAL = 7l;
	
	public static final Long NV_ONE_MONTH = 8l;
	public static final Long NV_THREE_MONTH = 9l;
	
	public static final Long CANCEL_VV = 10l;
	public static final Long NOC_LETTER = 11l;
	
	public static final String SERVICE_CODE_FNP = "serviceCode";
	
	public static final String __SERVICE_NAME = "serviceName";
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="SERVICE_CODE")
	private Long serviceCode;

	@Column(name="SERVICE_NAME")
	private String serviceName;

	@Column(name="SERVICE_TYPE")
	private String serviceType;
	
	@Column(name="ETKS_CODE")
	private String etksCode;

	//bi-directional many-to-one association to AppMetaData
	@OneToMany(mappedBy="ServiceMaster")
	private List<AppMetaData> AppMetaData;

	//bi-directional many-to-one association to AttachmentType
	@OneToMany(mappedBy="ServiceMaster")
	private List<AttachmentType> AttachmentTypes;

	//bi-directional many-to-one association to FnpServiceMaster
	@OneToMany(mappedBy="ServiceMaster")
	private List<FnpServiceMaster> FnpServiceMasters;

    public ServiceMaster() {
    }

	public Long getServiceCode() {
		return this.serviceCode;
	}

	public void setServiceCode(Long serviceCode) {
		this.serviceCode = serviceCode;
	}

	public String getServiceName() {
		return this.serviceName;
	}

	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}

	public String getServiceType() {
		return this.serviceType;
	}

	public void setServiceType(String serviceType) {
		this.serviceType = serviceType;
	}

	public List<AppMetaData> getAppMetaData() {
		return this.AppMetaData;
	}

	public void setAppMetaData(List<AppMetaData> AppMetaData) {
		this.AppMetaData = AppMetaData;
	}
	
	public List<AttachmentType> getAttachmentTypes() {
		return this.AttachmentTypes;
	}

	public void setAttachmentTypes(List<AttachmentType> AttachmentTypes) {
		this.AttachmentTypes = AttachmentTypes;
	}
	
	public List<FnpServiceMaster> getFnpServiceMasters() {
		return this.FnpServiceMasters;
	}

	public void setFnpServiceMasters(List<FnpServiceMaster> FnpServiceMasters) {
		this.FnpServiceMasters = FnpServiceMasters;
	}

	public String getEtksCode() {
		return etksCode;
	}

	public void setEtksCode(String etksCode) {
		this.etksCode = etksCode;
	}
	
}